Вопросы по PL/SQL
SQL
-
Расширения оператора SELECT в Oracle
-
ANSI соединения в операторе SELECT
-
Рекурсивная форма оператора SELECT в Oracle
-
Обработка NULL значений в Oracle
-
Функции DECODE, NVL, NVL2 и их использование для обработки NULL значений
Транзакции
-
Понятие транзакции. Неявные и явные транзакции.
-
Основные свойства транзакций.
-
Уровни изолированности транзакций, отличия реализации в Oracle от других СУБД.
-
Понятие блокировок. Основные типы блокировок.
-
Операторы поддержки транзакций в Oracle (COMMIT, ROLLBACK, SAVEPOINT, SET TRANSACTION)
Основные понятия PL/SQL
-
Основные понятия PL/SQL, типы модулей PL/SQL, взаимодействие с SQL и с ядром Oracle
-
Структура блока PL/SQL.
-
Безымянные блоки PL/SQL
-
Переменные PL/SQL. Описание и инициализация переменных в PL/SQL. Использование атрибутов %TYPE и %ROWTYPE
-
Переменные PL/SQL. Область видимости, время жизни переменных.
-
Основные типы данных PL/SQL, отличия от типов данных SQL
-
Хранимые процедуры PL/SQL, отличия от блоков PL/SQL
-
Функции PL/SQL, отличия от процедур PL/SQL
-
Пакеты PL/SQL. Заголовок и тело пакета.
-
Использование пакетов. Глобальные переменные и типы
-
Параметры функций и процедур PL/SQL. Типы параметров, синтаксис описания формальных параметров. Способы привязки фактических параметров к формальным.
-
Операторы PL/SQL (присваивание, цикл, условные операторы, оператор безусловного перехода, …)
Исключения PL/SQL
-
Исключения PL/SQL. Основные понятия. Способ использования
-
Синтаксис обработки исключений в PL/SQL. Операторы перехвата исключений, генерации и повторной генерации исключений.
-
Порядок обработки исключений в случае вложенных блоков PL/SQL
-
Предопределенные исключения Oracle. Именованные и неименованные исключения. Исключения NO_DATA_FOUND, TOO_MANY_ROWS
-
Определенные пользователем исключения.
-
Генерация неименованных пользовательских исключений.
-
Определение синонимов для неименованных исключений Oracle
Сложные типы данных в PL/SQL
-
Оператор описания типов PL/SQL
-
Записи в PL/SQL. Варианты использования.
-
Массивы в PL/SQL. Типы массивов, сравнение.
-
Индексируемые массивы, атрибуты массивов.
-
Таблицы PL/SQL, атрибуты таблиц
-
Массивы переменной длины, атрибуты массивов
SQL в PL/SQL
-
Общие принципы использования операторов SQL в PL/SQL
-
Использование оператора SELECT в PL/SQL
-
Использование операторов INSERT, UPDATE, DELETE в PL/SQL
-
Понятие курсора в Oracle. Способы использования курсоров.
-
Атрибуты курсора.
-
Операторы работы с курсором
-
Выборка записей из курсора с использованием различных типов операторов цикла.
-
Неявные курсоры, атрибуты неявных курсоров.
-
Курсорные переменные. Сравнение со статическими курсорами. Передача курсорных переменных как параметров в процедуры
Триггеры
-
Триггеры PL/SQL. Основные понятия, отличия от других типов модулей PL/SQL
-
Типы триггеров. Общая схема активизации триггеров PL/SQL
-
Триггеры INSTEAD OFF. Способ использования, преимущества и недостатки.
-
Ограничение на использование триггеров. Понятие о мутирующих таблицах
Динамический SQL
-
Динамический SQL. Типы динамического SQL. Сравнение со статическим SQL
-
Динамический SQL, синтаксис
-
Динамический SQL, передача параметров, возврат результатов
-
Динамический SQL, выполнение операторов SQL
-
Динамический SQL, выполнение блоков PL/SQL
-
Динамический SQL. Курсоры.
-
Динамический SQL. Блоковая выборка
Управление модулями PL/SQL в Oracle
-
Операторы создания, изменения и удаления модулей PL/SQL (общие элементы синтаксиса)
-
Понятие о зависимостях объектов в Oracle.
-
Операторы компиляции модулей PL/SQL. Состояние объектов в Oracle.
-
Активизация и деактивизация триггеров в Oracle.
-
Системное view USER_OBJECTS.